package com.ms.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ms.entity.Manager;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * Dao 层接口，继承 BaseMapper 获得通用 CRUD 方法
 */
@Mapper // 标记为 MyBatis 映射接口（也可在启动类用 @MapperScan 批量扫描）
public interface ManagerMapper extends BaseMapper<Manager> {
    // 无需编写方法，BaseMapper 已包含常用操作：
    // insert(实体)、deleteById(id)、updateById(实体)、selectById(id)、selectList(条件) 等
    // 如需自定义 SQL，可在此添加方法并在 XML 或注解中实现

    /**
     * 根据管理员账号查找管理员
     */
    @Select("SELECT * FROM Manager WHERE ma_account = #{maAccount} AND ma_isUsing = 1")
    Manager selectByAccount(String maAccount);

    /**
     * 根据是否为主管理员查找管理员列表
     */
    @Select("SELECT * FROM Manager WHERE ma_isMain = #{maIsMain} AND ma_isUsing = 1")
    List<Manager> selectByIsMain(Boolean maIsMain);

    /**
     * 统计启用的管理员数量
     */
    @Select("SELECT COUNT(*) FROM Manager WHERE ma_isUsing = 1")
    Integer countActiveManagers();
}